#ifndef CARD_H
#define CARD_H
#include <iostream>

// Printed card representation
const int CARD_HEIGHT_VISUAL = 8;
const int CARD_WIDTH_VISUAL = 8;
const int NB_POSSIBLE_KINDS = 4;
const int NB_POSSIBLE_FIGURES = 13;
// Definition of the chars for each card type
#define HEART 3
#define DIAMOND 4
#define CLUB 5
#define SPADE 6
const int KING = 13;
const int ACE = 1;

// Card visual
const char CARD_VISUAL[CARD_WIDTH_VISUAL][CARD_HEIGHT_VISUAL] = {
	{ "  ___  " },
	{ " |   | " },
	{ " |   | " },
	{ " |   | " },
	{ " |   | " },
	{ " |   | " },
	{ " |   | " },
	{ " |___| " },
};

// Empty card visual
const char EMPTY_CARD_VISUAL[CARD_WIDTH_VISUAL][CARD_HEIGHT_VISUAL] = {
	{ "       " },
	{ "       " },
	{ "       " },
	{ "       " },
	{ "       " },
	{ "       " },
	{ "       " },
	{ "       " },
};


const char CARD_KINDS[NB_POSSIBLE_KINDS] = { HEART, DIAMOND, CLUB, SPADE };
// Array for the "figures" of different cards.
const char CARD_FIGURES[NB_POSSIBLE_FIGURES] = { 'A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K' };

// Basic creation of cards.
struct card
{
	int value;
	char figure;
	char kind;
};

void Initialize(card &c);
void Display(const card &c, int row, int width);

#endif